package models;

import play.db.DB;
import play.db.jpa.Model;

import play.*;
import play.db.jpa.*;
import javax.persistence.*;

import controllers.Application;

import net.sf.oval.constraint.MaxSize;

import Utils.ClassUtilsDB;

import java.sql.ResultSet;
import java.util.*;

@Entity
public class Bairro extends Model {
	
	//Atributos
	
	private long codBairro;
	
	
	private long codCidade;
	
	@MaxSize(30)
	private String bairro;
	
	//Métodos de acesso
	
	public long getCodBairro() {
		return this.codBairro;
	}


	public void setCodBairro(long codBairro) {
		this.codBairro = codBairro;
	}


	public long getCodCidade() {
		return this.codCidade;
	}


	public void setCodCidade(long codCidade) {
		this.codCidade = codCidade;
	}


	public String getBairro() {
		return this.bairro;
	}


	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	//Construtor
	
	public Bairro(long codCidade,String bairro) throws Exception
	{
		this.codBairro = ClassUtilsDB.next("CodBairro","bairro","CodCidade = %d",codCidade);
		this.codCidade = codCidade;
		this.bairro	   = bairro;
	}

	public Bairro()
	{

	}
	
	
	//Métodos Auxiliares
	public static Bairro listarBairro(long codCidade,long codBairro)
	{
		String sql = "SELECT * FROM bairro WHERE CodCidade = " + codCidade + " AND CodBairro = " + codBairro;
		Bairro bairro = new Bairro();
		
		try
		{
			ResultSet rs = DB.executeQuery(sql);
			
			while( rs.next() )
			{
				bairro.setBairro(rs.getString("bairro"));
				bairro.setCodBairro(rs.getLong("codBairro")) ;
				bairro.setCodCidade(rs.getLong("codCidade")) ;
				bairro.id = rs.getLong("id");
			}
			
		}
		catch(Exception e)
		{
			
		}		
		
		return bairro;
		
	}
	
}
